package com.vx.aspect;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.aspectj.lang.ProceedingJoinPoint;

public class LoggerAspect {
	//通过logger显示，当前用户操作的目标对象的类名以及
	//目标对象操作的方法名字(连接点的方法)
	//连接点对象：ProceedingJoinPoint	
	//Advice	
	  public Object logger(ProceedingJoinPoint pjp) throws Throwable{
	//around：环绕通知，要求调用目标对象的连接点的方法
//		  调用目标对象的连接点方法
		  
//		获得当前执行的方法的类型名（目标对象的类名）
		String className = pjp.getTarget().getClass().getName();
	//  获得当前执行的方法的名字
		String methodName = pjp.getSignature().getName();
		System.out.println("您正在执行"+className+"类的"+methodName+"方法");
	//显示当前用户操作的时间(new Date())，以及操作的信息（opt.properties中的value值）
	//显示时间：必须让用户习惯表现形式
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//		System.out.println("用户的操作的时间是："+dateFormat.format(new Date()));
		return pjp.proceed();
	  }
	  
	  public void beforeMethod(){
		  System.out.println("前面前置拦截方法............");
	  }
}
